package makabakaquestionnaire.zutsoftware.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import makabakaquestionnaire.zutsoftware.system.entity.SysRole;

import java.util.Date;
import java.util.List;

/**
 * 用户信息，关联用户所在部门
 *
 */

@Data
@NoArgsConstructor
public class Users extends BaseEntity {
    private long id;

    /**
     * 项目code,唯一标识
     */
    private String userName;
    private String password;
    private String email;
    private Date lastLoginTime;//最后登录时间
    @ApiModelProperty("用户头像")
    private String Avater;

    @ApiModelProperty(value = "备注", example = "我是一个用户")
    private String remark;

    /**
     * 角色组
     */
    private List<SysRole> roles;
    private Long[] roleIds;
    /**
     * 所在部门
     */
    private Long deptId;
    /**
     * 最后登陆ip
     */
    private String loginIp;
    /**
     * 性别
     */
    private String sex;
    /**
     * 手机号
     */
    private String iphone;
    /**
     * 状态 "1"正常 "0"停用
     */
    private String status;
    @JsonIgnore// 避免序列化
    public boolean isAdmin()
    {
        return isAdmin(this.id);
    }

    /**
     * 当前1L用户为管理员权限
     * @param userId
     * @return
     */
    @JsonIgnore// 避免序列化
    public static boolean isAdmin(Long userId)
    {
        return userId != null && 1L == userId;
    }
    public List<SysRole> getRoles()
    {
        return roles;
    }

    public void setRoles(List<SysRole> roles)
    {
        this.roles = roles;
    }
}
